package cn.ywsj.ywsjmidtier.entity.VO;

import cn.ywsj.ywsjmidtier.entity.DTO.MarketingActivitiesDTO;
import cn.ywsj.ywsjmidtier.entity.ProductPrice;
import cn.ywsj.ywsjmidtier.entity.ProductSkuValue;
import cn.ywsj.ywsjmidtier.entity.Tree;
import lombok.Data;

import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;

@Data
public class ProductViewVo {

    private static final long serialVersionUID = -689788101465672436L;

    private Long productId;

    private Long custId;

    private Integer productNo;

    private String productType;

    private String productName;

    private String keywords;

    private String productAbstract;

    private String productDesc;

    private String productStyle;

    private String areaId;

    private String areaName;

    private String productSite;

    private String productUnit;

    private String productUnitName;

    private Double productPrice;

    private Double commissionRatio;

    private Double costPrice;

    private String productPriceDesc;

    private String moneytype;

    private Float highTradePrice;

    private Float lowTradePrice;

    private String applicableAddr;

    private Integer attachTag;

    private String attachId;

    private String className;

    private String classId;

    private Integer display;

    private Date displayEndDate;

    private Date displayStartDate;

    private String productAblit;

    private Integer num;

    private String miniSupply;

    private Integer salePatter;

    private Integer paymentPatter;

    private String bigImg;

    private String midImg;

    private String smallImg;

    private Integer click;

    private Integer commend;

    private String commendUserId;

    private Date commendTime;

    private Integer hotProduct;

    private Integer goodProduct;

    private String color;

    private String productKey;

    private String productPrivicy;

    private Integer listTop;

    private Long operUser;

    private Date operTime;

    private Date updateTime;

    private Long publishUserId;

    private String publishDate;

    private Integer validity;

    private Long checkUser;

    private Date checkTime;

    private String backReason;

    private String rsrvStr1;

    private String rsrvStr2;

    private String rsrvStr3;

    private String rsrvStr4;

    private String rsrvStr5;

    private String rsrvStr6;

    private String rsrvStr7;

    private String rsrvStr8;

    private String rsrvStr9;

    private String rsrvStr10;

    private Integer autoState;

    private Integer recommendProduct;

    private Integer activetime;

    private String saleSupport;

    private String standard;

    private String webTag;

    private Long brandId;

    private String brandName;

    private String productNumeric;

    private Integer productLevel;

    private Integer status;

    private String firstPrice;

    private String lastPrice;

    private String custName;

    private String email;

    private String groupContactPhone;

    private String logoImg;

    private String filePath;

    private String levelLogo;

    private String contactName;

    private String companyAddress;

    private String eparchyCode;

    private String QQ;

    private List<AttachViewVo> attchViewVo;

    private Integer sizes;

    private String productLevels;

    private String attrTag;

    private String attrDesc;

    private String conType;

    private String attrValue;

    private String attrName;

    private String attrId;

    private String sequence;

    private String price;

    private String deliveryTime;

    private String url;

    private String tradingVolume;

    private String attributeValues;

    private String quantity;

    private String searchHotName;

    private String planTime;

    private String lineNo;

    private String procurementId;

    private String buyerUserId;

    private String ordDetailId;

    private String sysId;

    private Integer count;

    private Integer number;

    private Integer totalNum;

    private List<ProductAttrListViewVo> ProductAttrListViewVo;

    private Set<ProductPrice> productPriceSet;

    private List<ProductSkuValueViewVo> productSkuValueList;

    private ProductSkuValueViewVo productSkuValue;

    private Long skuId;

    private String skuModel;

    private Double skuPrice;

    private Map<String, Boolean> activityType;

    private List<MarketingActivitiesDTO> activityList;

    private Integer minWholesaleNum;

    private Double wholesalePrice;

    private Boolean allowMix;

    private Integer freeDelivery;

    private Long templateId;

    private String deliveryAreaId;

    private String deliverySite;

    private Double weight;

    private Double volume;

    private Integer valuation;

    private String attrListId;

    private String skuNumber;

    private String settleType;

    private Long supProductId;

    private Long factoryCustId;

    private Integer supValidity;

    private Integer packingNum;

    private String wholePackageUnitValue;

    private String wholePackageUnit;

    private Integer isMallSales;

    private String platformClassId;

    private String setValue;

    private Integer inventorySwitch;

    private Integer stockType;

    private String isCoupon;

    private String platformClassName;

    private Map<String, ProductSettingViewVo> productSettingMap;

    private Double actualFreightFee;

    private Double discountFreightFee;

    private Double nowPrice;

    private List<BrandViewVo> brandList;

//    private Pages<ProductViewVo> newProductPage;
//
//    private Pages<ProductViewVo> commendProductPage;
//
//    private Pages<ProductViewVo> hotProductPage;

    private String filePathQuality;

    private String qualityAttachId;

    private String warehouseName;

    private Integer inventoryPromotion;

    private Double retailPrice;

    private Double commissionRate;

    private Long levelId;

    private String levelName;

    private Date goodTime;

    private Integer storeType;

    private FreightTemplateViewVo freightTemplateViewVo;

    private String warehouseStr;

    private String levelNameStr;

    private String groupNameStr;

    private List<Long> groupIdList;

    private List<Long> levelIdList;

    private List<Long> warehouseIdList;

    private String groupIdStr;

    private String levelIdStr;

    private List<Tree> groupTree;

    private String shopName;

    private Integer custCommend;

    private Date custCommendTime;

    private Integer skuCount;

    private String orderId;

    private Double commissionAmount;

    private String orderDetailId;

    private String activityName;

    private Date startTime;

    private Date endTime;

    private Integer sellOut;

    private Integer rebatesType;

    private Double rebatesFee;

    private Double rebatesRate;

    private List<ProductSkuViewVo> productSkuViewList;

    private List<AttachViewVo> attachs;

    private Integer aliveFlag;

    private Long supplyCustId;

    private Integer buyCustType;

    private Integer commissionType;

    private Long warehouseId;

    private List<AttachViewVo> attachDetails;

    private Long saleCustId;

    private Long applyId;

    private String buyCustTypeStr;

    private List<String> labelsName;

    private String mainVideo;

    private String videoPath;

    private String videoPathSuffix;

    private String firstFrame;

    private String evaluateIsHide;

    private List<ProductSkuValue> skuValueList;

    private List<AttachViewVo> attachVideos;

    private Double evaluateCount;

    private Double averageScore;

    private List<String> skuNumberList;
}
